package cn.learn.delay.core;

import cn.learn.delay.message.BaseRedisMessage;

/**
 * @author : Yu.Tan
 * @date : 2022/10/11 17:13
 * @desc : **
 */
public interface RedisDelayExecute<MSG extends BaseRedisMessage>{


    String MSG_POOL = "Message:Pool:";


    /**
     * 创建消息
     * @return MSG
     */
     MSG createMessage();

    /**
     * 消费方法
     */
    void consumer();

    /**
     * 处理消息
     * @return 处理结果
     * @param msg 消息
     */
    boolean dealMessage(MSG msg);

    /**
     * 消费组
     * @return
     */
    String group();
}
